/**
 * @author		Ben Layet
 * @version 	1.0
 * @date		25 Sep 2008
 */
package org.ignoramus.application.store;

import java.io.InputStream;

/**
 * Interface for all I-gnoramus lesson stores.
 *
 */
public interface LessonStore
{
	/**
	 * @returns The title of the lesson.
	 * @throws StoreException
	 *             if the file cannot be parsed.
	 */
	public String getTitle() throws StoreException;
	
	
	/**
	 * Gets the input stream from the stored cards.
	 * @return the cards data.
	 * @throws StoreException if the store does not contain the data.
	 */
	public InputStream getCardsData() throws StoreException;
	
	/**
	 * Gets the input stream from the stored card template.
	 * @return the log data.
	 * @throws StoreException if the store does not contain the data.
	 */
	public InputStream getTemplateData() throws StoreException;

	/**
	 * Gets the input stream from the stored log.
	 * @return the template data.
	 * @throws StoreException if the store does not contain the data.
	 */
	public InputStream getLogData() throws StoreException;
}
